<div class="main"> 
<h1>Finalizar Compra: Confirmar Endere&ccedil;o</h1>
<div class="item">
    <div id="content">

<?php
include_once("ConsultaCliente.php");
include_once("ws/CreditCardService/CreditCardService.php");
include_once("EnderecosService.php");
include_once("estoque.php");
include_once("LogisticaEntregaService.php");

$opcao_pagamento = $_POST["metodo_pagamento"];

$cpf = $_SESSION['CPF'];

if($opcao_pagamento == "cartao") {

    $CreditCardManagerClass = new CreditCardManager();
    $CreditCardManagerClass->{"value"} = $_POST['valor_compra'];
    $CreditCardManagerClass->{"cardNumber"} = $_POST['num_cartao']; 
    $CreditCardManagerClass->{"securityCode"} = $_POST['cod_seguranca'];
    $CreditCardManagerClass->{"ownerName"} = $_POST['nome_titular'];
    $CreditCardManagerClass->{"expirationDate"} = $_POST['data_validade'];
    $CreditCardManagerClass->{"operatorID"} = $_POST['bandeira_cartao'];

    $soapClass = new CreditCardService();

    $resultCardManager = $soapClass->CreditCardManager($CreditCardManagerClass);

    if ($resultCardManager->return === -1) {
?>
        <center>
        <br>Transação negada por falta de crédito.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </center>
    </div>
</div>
<?php
    }
    elseif ($resultCardManager->return === -2) {
?>
        <center>
        <br>Os dados do cartão são inválidos.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </center>
    </div>
</div>
<?php
    }
    elseif ($resultCardManager->return === -3) {
?>
        <center>
        <br>O cartão está vencido.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </center>
    </div>
</div>
<?php
    }
    elseif ($resultCardManager->return === -4) {
?>
        <center>
        <br>Ocorreu um erro interno no serviço.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </center>
    </div>
</div>
<?php  
    }
    else {
        $lista_produtos = $_SESSION['lista_produtos'];
        foreach($lista_produtos as $prod => $qtde) {
            if (remove_prod(1, $prod, $qtde)) {
                print "Produto $prod nao esta disponivel";
            }
        }

        $endereco = implode(', ', $_SESSION['endereco']);
        $produtos = implode('|', $lista_produtos);
        $cliente = file_get_contents("http://mc747-clientes.heroku.com/clientes/".$cpf.".xml");
        $xml_cliente = new SimpleXMLElement($cliente);

        $entregaProdutoClass = new entregaProdutos();
        $entregaProdutoClass->{"endereco"} = $endereco;
        $entregaProdutoClass->{"produtos"} = $produtos;
        $entregaProdutoClass->{"remetente"} = (string) $xml_cliente->nome;
        $entregaProdutoClass->{"destinatario"} = isset($_SESSION['endereco']['destinatario']) ? $_SESSION['endereco']['destinatario'] : $xml_cliente->nome;
        $entregaProdutoClass->{"idCliente"} = (int) $_SESSION['CPF'];

        $LogisticaClass = new LogisticaEntregaService();                                                                                                                                            

        $protocolo = $LogisticaClass->entregaProdutos($entregaProdutoClass);

        $protocolo = substr($protocolo->entregaProdutosReturn, 3);

?>

        <center>
            <br>
            <h2>Parab&eacute;ns! Voc&ecirc; acaba de adquirir</h2><h2> produtos de alta qualidade!</h2>
            <br><br>
            <h3><?php echo "O protocolo do seu pedido é: " . $protocolo ?></h3>
            <br><br>

            <form action="hello_messageService.php" method="get">
                <label for="protocolo">Email: </label>
                <input type="text" name="email" />
                <input type="submit" value="Mandar email com o protocolo" />
                <input type="hidden" name="protocolo" value="<?php echo $protocolo ?>" />
            </form>
            <br>

			<a href="index.php">Voltar para p&aacute;gina inicial</a>
        </center>
    </div>
</div>
<?php
    }
}
// Metodo de pagamento = boleto... 
else {
    if(!empty($_POST["conta_portal"]) && !empty($_POST["ag_portal"]) && !empty($_POST["conta_cliente"]) && !empty($_POST["ag_cliente"]) && !empty($_POST["senha"]) && !empty($_POST["valor_compra"]) && !empty($_POST["id_compra"])){
        $debito_conta_url = "http://staff03.lab.ic.unicamp.br:8006/servlets/servlet/debitoonline?conta_do_portal=".$_POST["conta_portal"]."&agencia_portal=".$_POST["ag_portal"]."&conta_cliente=".$_POST["conta_cliente"]."&agencia_do_cliente=".$d = $_POST["ag_cliente"]."&senha_do_cliente=".$e = $_POST["senha"]."&valor_da_compra=".$_POST["valor_compra"]."&id_da_compra=".$_POST["id_compra"];

        $contents = get_data($debito_conta_url);

        $regex = "/\{\'CONFIRMACAO\'\:(.*)?,\'ERRO\'\:(.*)?\}/i";

        preg_match($regex, $contents, $matches);

        if($matches[1] != "false" && $matches[2] != 1){
            print 'Compra realizada com sucesso<br />';
            $lista_produtos = $_SESSION['lista_produtos'];
            foreach($lista_produtos as $prod => $qtde) {
                if (remove_prod(1, $prod, $qtde)) {
                    print "Produto $prod nao esta disponivel";
                }
            }

            $endereco = implode(', ', $_SESSION['endereco']);
            $produtos = implode('|', $lista_produtos);
            $cliente = file_get_contents("http://mc747-clientes.heroku.com/clientes/".$cpf.".xml");
            $xml_cliente = new SimpleXMLElement($cliente);

            $entregaProdutoClass = new entregaProdutos();
            $entregaProdutoClass->{"endereco"} = $endereco;
            $entregaProdutoClass->{"produtos"} = $produtos;
            $entregaProdutoClass->{"remetente"} = (string) $xml_cliente->nome;
            $entregaProdutoClass->{"destinatario"} = isset($_SESSION['endereco']['destinatario']) ? $_SESSION['endereco']['destinatario'] : $xml_cliente->nome;
            $entregaProdutoClass->{"idCliente"} = $_SESSION['CPF'];

            $LogisticaClass = new LogisticaEntregaService();                                                                                                                                            

            $protocolo = $LogisticaClass->entregaProdutos($entregaProdutoClass);
            print "O protocolo do seu pedido é: " . $protocolo->entregaProdutosReturn . "<br />";
?>

<?php
        }
        else {
?>

        <center>
        <br>Os dados da conta s&atilde;o inv&aacute;lidos.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </div>
        </div>
        </center>
<?php
        }
    } else {
?>

        <center>
        <br>Os dados da conta est&atilde;o incompletos.<br/>
        <form><input type="button" value="voltar" onClick="history.go(-1);return true;"></form>
        </div>
        </div>
        </center>
<?php
    } 
}
?>

</div>
